IDispatch
Otázka od: Tomas Folprecht
25. 9. 2002 18:03
Dobry den,
nemohl by mi nekdo poslat priklad zdrojaku, ze ktereho bude i mne zrejme, jak
se vola metoda GetIDsOfNames a jak jeji
vysledky pouzit v metode Invoke.
Jak ziskam vsechny parametry, ktere tyto metody pozaduji?
Diky
Tomas Folprecht
Odpovedá: Radim Kunz
25. 9. 2002 17:21
----- Original Message -----
From: "Tomas Folprecht" <tomas@apkfolprecht.cz>
To: <delphi-l@clexpert.cz>
Sent: Wednesday, September 25, 2002 1:28 PM
Subject: IDispatch
> Dobry den,
>
> nemohl by mi nekdo poslat priklad zdrojaku, ze ktereho bude i mne zrejme,
jak se vola metoda GetIDsOfNames a jak jeji
> vysledky pouzit v metode Invoke.
> Jak ziskam vsechny parametry, ktere tyto metody pozaduji?
>
> Diky
>
> Tomas Folprecht
>
Zdrojak ti neposlu, ale nejaky popis
function xxx.GetIDsOfNames(const IID: TGUID; Names: Pointer; NameCount,
LocaleID: Integer; DispIDs: Pointer): HResult;
IID - nepouziva se, bylo to urceno pro budoucnost, ktera uz asi nenastane.
Names - typu PVariantArgList, najdes v unite ActiveX, tam nacpes seznam
nazvu metod, ktere chces
prevest na id funkci. Doporucuji prevadet po jedne funkci.
NameCount - pocet nazvu metod v Names
LocaleID - jazyk, nepouziva se
DispIDs - typu PDispIdList dekl. v unite ActiveX, pointr na seznam idecek
funkci, je to
vlastne vysledek funkce GetIdsOfNames.
function xxx.Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer): HResult;
DispID, ID funkce, kterou zjistila GetIdsOfNames,
IID - nepouziva se
LocalID - nepouziva se
Flags - rozliseni jestli to je procedura, funkce nebo property, hodnoty si
najdi
v MSDN
Params - typ PDispParams dekl. v unite ActiveX, je tam seznam parametru
VarResult: typu PVariant, pointr na vysledek, pokud slo o funkci, jinak NIL.
ExceptInfo a ArgErr, neco s chybama, z hlavy nevim.
Radim